home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / sbin / airmon-ng < prev    next >
Text File  |  2006-05-10  |  9KB  |  347 lines

  1. #!/bin/sh
  2.  
  3.  
  4. KISMET=/etc/kismet/kismet.conf
  5. CH=$3; [ x$3 = "x" ] && CH=10
  6.  
  7.  
  8. which iwpriv &> /dev/null || 
  9.   { echo Wireless tools not found ; exit ; }
  10.  
  11.  
  12. echo -e "\nusage: `basename $0` <start|stop> <interface> [channel]\n"
  13. echo -e "Interface\tChipset\t\tDriver\n"
  14.  
  15.  
  16. function startStdIface() {
  17.     iwconfig $1 mode monitor 2> /dev/null >/dev/null
  18.     iwconfig $1 channel $2 2> /dev/null >/dev/null
  19.     iwconfig $1 key off 2> /dev/null >/dev/null
  20.     ifconfig $1 up
  21.     echo -n " (monitor mode enabled)"
  22. }
  23.  
  24.  
  25. function stopStdIface() {
  26.     ifconfig $1 down
  27.     iwconfig $1 mode Managed 2> /dev/null >/dev/null
  28.     echo -n " (monitor mode disabled)"
  29. }
  30.  
  31.  
  32. for iface in `iwconfig 2>/dev/null | egrep '(IEEE|ESSID)' | cut -b 1-7 | grep -v wifi`
  33. do
  34.  if [ x"`iwpriv $iface 2>/dev/null | grep force_reset`" != "x" ]
  35.  then
  36.     echo -e -n "$iface\t\tHermesI\t\torinoco"
  37.     if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  38.     then
  39.         cp $KISMET~ $KISMET 2>/dev/null &&
  40.         echo "source=orinoco,$iface,HermesI" >>$KISMET
  41.         iwconfig $iface mode Monitor channel $CH &>/dev/null
  42.         iwpriv $iface monitor 1 $CH &>/dev/null
  43.         ifconfig $iface up
  44.         echo -n " (monitor mode enabled)"
  45.     fi
  46.     if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  47.     then
  48.         ifconfig $iface down
  49.         iwpriv $iface monitor 0 &>/dev/null
  50.         iwconfig $iface mode Managed &>/dev/null
  51.         echo -n " (monitor mode disabled)"
  52.     fi
  53.     echo
  54.     continue
  55.  fi
  56.  
  57.  
  58.  if [ `iwpriv $iface 2>/dev/null | grep -v $iface | md5sum | awk '{print $1}'` == "2310629be8b9051238cde37520d97755" ]
  59.  then
  60.     echo -e -n "$iface\t\tCentrino b\tipw2100"
  61.     if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  62.     then
  63.         cp $KISMET~ $KISMET 2>/dev/null &&
  64.         echo "source=ipw2100,$iface,Centrino_b" >>$KISMET
  65.         startStdIface $iface $CH
  66.     fi
  67.     if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  68.     then
  69.         stopStdIface $iface
  70.     fi
  71.     echo
  72.     continue
  73.  fi
  74.  
  75.  
  76.  if [ x"`iwpriv $iface 2>/dev/null | grep sw_reset`" != "x" ]
  77.  then
  78.     MODINFO=`modinfo ipw2200 | awk '/^version/ {print $2}'`
  79.     if [ "$MODINFO" = "1.0.6" ] || [ "$MODINFO" = "1.0.9" ] || [ "$MODINFO" = "1.0.10" ]
  80.     then
  81.         echo -e -n "$iface\t\tCentrino b/g\tipw2200"
  82.         if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  83.         then
  84.             cp $KISMET~ $KISMET 2>/dev/null &&
  85.             echo "source=ipw2200,$iface,Centrino_g" >>$KISMET
  86.             startStdIface $iface $CH
  87.         fi
  88.         if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  89.         then
  90.             stopStdIface $iface
  91.          fi
  92.      else
  93.           echo -e -n "$iface\t\tCentrino b/g\tipw2200 (Module v1.0.6/1.0.9 or 1.0.10 required)"
  94.      fi
  95.      echo
  96.      continue
  97.  fi
  98.  
  99.  
  100.  if [ x"`iwpriv $iface 2>/dev/null | grep inact_auth`" != "x" ]
  101.  then
  102.      if [ -e "/proc/sys/net/$iface/%parent" ]
  103.      then
  104.     echo -e "$iface\t\tAtheros\t\tmadwifi-ng VAP (parent: `cat /proc/sys/net/$iface/%parent`)"
  105.     if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  106.         then
  107.             wlanconfig $iface destroy
  108.             echo -n " (VAP destroyed)"
  109.         fi
  110.        continue
  111.      fi
  112.      echo -e -n "$iface\t\tAtheros\t\tmadwifi"
  113.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  114.      then
  115.          cp $KISMET~ $KISMET 2>/dev/null &&
  116.          echo "source=madwifi_g,$iface,Atheros" >>$KISMET
  117.          startStdIface $iface $CH
  118.      fi
  119.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  120.      then
  121.          stopStdIface $iface
  122.      fi
  123.      echo
  124.      continue
  125.  fi
  126.  
  127.  
  128.  if [ x"`iwpriv $iface 2>/dev/null | grep extrates`" != "x" ]
  129.  then
  130.      echo -e -n "$iface\t\tPrismGT\t\tprism54"
  131.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  132.      then
  133.          cp $KISMET~ $KISMET 2>/dev/null &&
  134.          echo "source=prism54g,$iface,Prism54" >>$KISMET
  135.          ifconfig $iface up
  136.          iwconfig $iface mode Monitor channel $CH
  137.          iwpriv $iface set_prismhdr 1 &>/dev/null
  138.          echo -n " (monitor mode enabled)"
  139.      fi
  140.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  141.      then
  142.          stopStdIface $iface
  143.      fi
  144.      echo
  145.      continue
  146.  fi
  147.  
  148.  
  149.  if [ x"`iwpriv $iface 2>/dev/null | grep antsel_rx`" != "x" ]
  150.  then
  151.      echo -e -n "$iface\t\tPrism2\t\tHostAP"
  152.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  153.      then
  154.          cp $KISMET~ $KISMET 2>/dev/null &&
  155.          echo "source=hostap,$iface,Prism2" >>$KISMET
  156.          iwconfig $iface mode Monitor channel $CH
  157.          iwpriv $iface monitor_type 1 &>/dev/null
  158.          ifconfig $iface up
  159.          echo -n " (monitor mode enabled)"
  160.      fi
  161.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  162.      then
  163.          stopStdIface $iface
  164.      fi
  165.      echo
  166.      continue
  167.  fi
  168.  
  169.  
  170.  if [ x"`wlancfg show $iface 2>/dev/null | grep p2CnfWEPFlags`" != "x" ]
  171.  then
  172.      echo -e -n "$iface\t\tPrism2\t\twlan-ng"
  173.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  174.      then
  175.          cp $KISMET~ $KISMET 2>/dev/null &&
  176.          echo "source=wlanng,$iface,Prism2" >>$KISMET
  177.          wlanctl-ng $iface lnxreq_ifstate ifstate=enable >/dev/null
  178.          wlanctl-ng $iface lnxreq_wlansniff enable=true channel=$CH \
  179.                            prismheader=true wlanheader=false \
  180.                            stripfcs=true keepwepflags=true >/dev/null
  181.          echo p2CnfWEPFlags=0,4,7 | wlancfg set $iface
  182.          ifconfig $iface up
  183.          echo -n " (monitor mode enabled)"
  184.      fi
  185.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  186.      then
  187.          ifconfig $iface down
  188.          wlanctl-ng $iface lnxreq_wlansniff enable=false  >/dev/null
  189.          wlanctl-ng $iface lnxreq_ifstate ifstate=disable >/dev/null
  190.          echo -n " (monitor mode disabled)"
  191.      fi
  192.      echo
  193.      continue
  194.  fi
  195.  
  196.  
  197.  if [ x"`iwpriv $iface 2>/dev/null | grep bbp`" != "x" ]
  198.  then
  199.      echo -e -n "$iface\t\tRalink b/g\trt2500"
  200.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  201.      then
  202.          cp $KISMET~ $KISMET 2>/dev/null &&
  203.          echo "source=rt2500,$iface,Ralink_g" >>$KISMET
  204.          startStdIface $iface $CH
  205.      fi
  206.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  207.      then
  208.          stopStdIface $iface
  209.      fi
  210.      echo
  211.      continue
  212.  fi
  213.  
  214.  
  215.  if [ x"`iwpriv $iface 2>/dev/null | grep wpapsk`" != "x" ]
  216.  then
  217.      echo -e -n "$iface\t\tRalink USB\trt2570"
  218.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  219.      then
  220.          cp $KISMET~ $KISMET 2>/dev/null &&
  221.          echo "source=rt2500,$iface,Ralink_g" >>$KISMET
  222.          startStdIface $iface $CH
  223.      fi
  224.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  225.      then
  226.          stopStdIface $iface
  227.      fi
  228.      echo
  229.      continue
  230.  fi
  231.  
  232.  
  233.  if [ x"`iwpriv $iface 2>/dev/null | grep debugtx`" != "x" ]
  234.  then
  235.      echo -e -n "$iface\t\tRTL8180\t\tr8180"
  236.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  237.      then
  238.          cp $KISMET~ $KISMET 2>/dev/null &&
  239.          echo "source=rt8180,$iface,Realtek" >>$KISMET
  240.          iwconfig $iface mode Monitor channel $CH
  241.          iwpriv $iface prismhdr 1 &>/dev/null
  242.          ifconfig $iface up
  243.          echo -n " (monitor mode enabled)"
  244.      fi
  245.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  246.      then
  247.          stopStdIface $iface
  248.      fi
  249.      echo
  250.      continue
  251.  fi
  252.  
  253.  
  254.  if [ x"`iwpriv $iface 2>/dev/null | grep dbg_flag`" != "x" ]
  255.  then
  256.      echo -e -n "$iface\t\tZyDAS\t\tzd1211"
  257.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  258.      then
  259.          cp $KISMET~ $KISMET 2>/dev/null &&
  260.          echo "source=wlanng_legacy,$iface,ZyDAS" >>$KISMET
  261.          startStdIface $iface $CH
  262.      fi
  263.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  264.      then
  265.          stopStdIface $iface
  266.      fi
  267.      echo
  268.      continue
  269.  fi
  270.  
  271.  
  272.  if [ x"`iwpriv $iface 2>/dev/null | grep GetAcx1`" != "x" ]
  273.  then
  274.      echo -e -n "$iface\t\tTI\t\tacx111"
  275.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  276.      then
  277.          cp $KISMET~ $KISMET 2>/dev/null &&
  278.          echo "source=acx100,$iface,TI" >>$KISMET
  279.          startStdIface $iface $CH
  280.      fi
  281.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  282.      then
  283.          stopStdIface $iface
  284.      fi
  285.      echo
  286.      continue
  287.  fi
  288.  
  289.  
  290.  if [ x"`iwpriv $iface 2>/dev/null | grep write_sprom`" != "x" ]
  291.  then
  292.      echo -e -n "$iface\t\tBroadcom\t\tbcm43xx"
  293.      if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  294.      then
  295.          cp $KISMET~ $KISMET 2>/dev/null &&
  296.          echo "source=bcm43xx,$iface,broadcom" >>$KISMET
  297.          startStdIface $iface $CH
  298.      fi
  299.      if [ x$1 = "xstop" ] && [ x$2 = x$iface ]
  300.      then
  301.          stopStdIface $iface
  302.      fi
  303.      echo
  304.      continue
  305.  fi
  306.  
  307.  
  308.  if [ x"`iwpriv $iface 2>/dev/null | grep ndis_reset`" != "x" ]
  309.  then
  310.      echo -e -n "$iface\t\tUnknown\t\tndiswrapper"
  311.      if [ x$2 = x$iface ]
  312.      then
  313.          echo -e " (MONITOR MODE NOT SUPPORTED)"
  314.      fi
  315.      echo
  316.      continue
  317.  fi
  318.  
  319.  
  320. echo -e "$iface\t\tUnknown\t\tUnknown (MONITOR MODE NOT SUPPORTED)"
  321.  
  322.  
  323. done
  324.  
  325.  
  326. for iface in `ifconfig -a 2>/dev/null | egrep HWaddr | cut -b 1-7`
  327. do
  328.  if [ -e "/proc/sys/dev/$iface/fftxqmin" ]
  329.  then
  330.     ifconfig $iface up
  331.     echo -e -n "$iface\t\tAtheros\t\tmadwifi-ng"       
  332.     if [ x$1 = "xstart" ] && [ x$2 = x$iface ]
  333.     then
  334.         
  335.         IFACE=`wlanconfig ath create wlandev $iface wlanmode monitor`
  336.         cp $KISMET~ $KISMET 2>/dev/null &&
  337.         echo "source=madwifing_g,$iface,Atheros" >>$KISMET
  338.         iwconfig $IFACE channel $CH
  339.         echo -n " (monitor mode enabled)"
  340.     fi
  341.     echo
  342.     continue
  343.  fi
  344. done
  345.  
  346.  
  347. echo